// Clase que define una moneda

#ifndef MONEDA_H_
#define MONEDA_H_

#include "ComplexObject.h"
#include "ComplexCylinder.h"

const float RADIO = 2.0;

const float ANCHO = 0.75;

const int ESTADO_BASE = 0;

const int ESTADO_SELECCIONADA = 1;

const int ESTADO_CAPTURADA = 2;


class Moneda : public ComplexObject
{
private:
	Transform * mAnimatedRotation;
	Transform * traslacion;
	Transform * rotacion;
	Material *materialBase;
	Material *materialSeleccionado;
	Material *materialCapturado;
	ComplexCylinder * moneda;
	float mDelta;
	int estado;
	float ang;

public:
	Moneda(VisibleFace vf, GraphicalFace gf, ShadingModel sm );
	~Moneda();

	bool seleccionar(float xRay, float yRay, float zRay, float xRay2, float yRay2, float zRay2);

	void setPos(float x,float y,float z);

	int getEstado(){return estado;};

	void setEstado(int nEstado);

	void cambiarTranslacion(Transform* t);

	void rotarMoneda();

};

#endif // MONEDA_H_ 